#ifndef __ECG_GLOBAL_H__
#define __ECG_GLOBAL_H__

#include <QString>
#include <QMap>
#include <QVector>
#include <QPair>

#include "Common.h"
#include "waveform.h"
#include "indication.h"
#include "../db/DBHelper.h"
#include "../Algo/Waveform_QT.h"

#define SEPERATOR "\\"


extern QString gUrlBase;

extern QString Company;
extern QString HotLine;

extern QString gExePath;
extern QString gProjectDir;

extern int gScreenWidth;
extern int gScreenHeight;
extern int gCustomScreenHeight;

extern DBHelper gDBHelper;

extern QString gHospitalName;
extern Doctor gDoctor;

extern Cases gCases;
extern PatientCase gPatientCase;

extern QVector<QPair<QString, QVector<QString>>> gSysptoms;
extern QVector<QString> gCommonChars;

extern QVector<QPair<int, QString>> gXStepSets;
extern QVector<QPair<int, QString>> gYStepSets;
extern QVector<QPair<int, QString>> gArrangeSets;

extern QStringList gXStepSelectors;
extern QStringList gYStepSelectors;
extern QStringList gArrangeSelectors;

extern int gSampleFreq;
extern int gXStep;
extern int gYStep;
extern int gArrange;
extern Waveform gWave;
extern Waveform_QT gWave_QT;
extern Indication gIndication;

extern QVector<Channel> gStandardWaves;
extern QVector<HeartbeatTag> gValidHeartBeatTag;

extern const int NumberPerPage;

extern int StepX_View2Model(const QString& view);
extern QString StepX_Model2View(int value);

extern int StepY_View2Model(const QString& view);
extern QString StepY_Model2View(int value);

extern ECGArrange Arrange_View2Model(const QString& view);
extern QString Arrange_Model2View(ECGArrange value);

extern QByteArray InitGetRequest(QString url, QString obj);
extern QString saveSignatureToLocal(const QString& address);

#endif //!__ECG_GLOBAL_H__
